﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
using Medical_Store_Billing.Business_Login_Layer;


namespace Medical_Store_Billing
{
    public partial class Form_Lapphieunhaphang : Form
    {
        float tongtien = 0;
        String mahang;
        String tenhang;
        float gia;


        NhanvienBLL m_nhanvienbll = new NhanvienBLL();
        NhacungcapBLL m_nhacungcapbll = new NhacungcapBLL();
        PhieunhapBLL m_phieunhapbll = new PhieunhapBLL();
        SanphamBLL m_sanphambll = new SanphamBLL();
        NhanvienBLL m_nhavienbll = new NhanvienBLL();
        

        public Form_Lapphieunhaphang()
        {
            InitializeComponent();
        }

        private void Form_Lapphieunhaphang_Load(object sender, EventArgs e)
        {

        //load combobox manhanvien
            comboNhanvien.DataSource = m_nhanvienbll.Laydsnv();
            comboNhanvien.DisplayMember = "manv";
            comboNhanvien.ValueMember = "manv";

            txtmaphieunhap.Text = sinhma();
//load du lieu hang hoa cho datagridview 1

            dataGridView1.DataSource = m_sanphambll.Laydssanpham();
      
        }


// nut luu de luu them phieu nhap
        private String sinhma()
        {
            int i = m_phieunhapbll.Demphieunhap();
            String s = null;
            s = (i + 1).ToString();
            if (i < 9)
            {
                return "PN00" + s;
            }
            if ((i >= 9) && (i < 99))
            {
                return "PN0" + s;
            }
            else
                return "PN" + s;

        }

        private void button_luu_Click_1(object sender, EventArgs e)
        {
            if (MessageBox.Show("bạn có muốn lưu?", "Thông báo", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                if (CheckNull() == true)
                {
                    //lưu phiếu nhập
                    String date = dateTime_ngaynhap.Value.ToString("dd-MM-yyyy");

                    this.tongtien = tinhtongtien();
                    MessageBox.Show("Tổng tiền phiếu nhập:   " + tongtien + " VND");
                    m_phieunhapbll.Themphieunhap(txtmaphieunhap.Text, date, tongtien, comboNhanvien.SelectedValue.ToString());

                    

                    //lưu chi tiết phiếu nhập.
                    int j = dataGridView2.RowCount;

                    for (int k = 0; k < j - 1; k++)
                    {
                        String mahang1 = dataGridView2.Rows[k].Cells[0].Value.ToString();
                        //MessageBox.Show("" + mahang1 + dataGridView2.Rows[k].Cells[1].Value.ToString());


                        int soluong1 = Convert.ToInt16(dataGridView2.Rows[k].Cells[3].Value.ToString());
                        m_phieunhapbll.Themchitietphieunhap(txtmaphieunhap.Text, mahang1, soluong1);


                        //cập nhật số lượng sản phẩm từ phiếu nhập cho bảng sản phẩm.

                        m_sanphambll.capnhatsoluongsanpham_tuphieunhap(soluong1, mahang1);

                    }

                    DataTable a = new DataTable();
                    dataGridView2.DataSource = a;
                    Form_Lapphieunhaphang_Load(sender, e);

                    MessageBox.Show("Cập nhật xong số lượng sản phẩm!");


                }
            }

            else
            {
                Form_Lapphieunhaphang_Load(sender, e);
            }
        }

//check cac truong khi them moi
        private bool CheckNull()
        {
            if (txtmaphieunhap.Text == "")
            {
                MessageBox.Show("Mã phiếu nhập ko đc rỗng");
                return false;
            }
            
           
            else return true;
        }

        private void button2_Click(object sender, EventArgs e)
        {

            if (DialogResult.Yes == MessageBox.Show(this, "Bạn muốn thêm sp này vào phiếu nhập chứ !!NHỚ THÊM SỐ LƯỢNG SẢN PHẨM NHÉ?", "Thông Báo", MessageBoxButtons.YesNo))
            {

                if (mahang != null && tenhang != null)
                {
                    dataGridView2.Rows.Add(mahang, tenhang,gia);
                }
                else
                {
                    MessageBox.Show("Bạn phải chọn sản phẩm từ bảng sản phẩm");
                }
                mahang = null;
                tenhang = null;

            }
        }

        private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            int i = e.RowIndex;
            if (i >= 0 && i <= dataGridView1.RowCount - 1)
            {
                mahang = dataGridView1.Rows[i].Cells[0].Value.ToString();
                tenhang = dataGridView1.Rows[i].Cells[1].Value.ToString();
                gia = float.Parse(dataGridView1.Rows[i].Cells[3].Value.ToString());

            }
            else {
                MessageBox.Show("Ban phai chon dong co du lieu");
            }
          
            
                
            
        }
        //phuc vu tinh tong tien.......................................
        public float tinhtongtien()
        {
            float tongtien = 0;
            int j = dataGridView2.RowCount;
            for (int k = 0; k < j - 1; k++)
            {
                float gia = float.Parse(dataGridView2.Rows[k].Cells[2].Value.ToString());
                int soluong = Convert.ToInt16(dataGridView2.Rows[k].Cells[3].Value.ToString());
                tongtien = tongtien + gia * soluong;
            }

            return tongtien;
        }
        //het .............

        

        
    }
}
